package crond

import (
	"context"
	"mini-app/config/redis"

	"192.168.1.75/go-pkg/logx"
	consumer "192.168.1.75/go-pkg/timer-consumer"
	"github.com/robfig/cron/v3"
)

func CrondInit() {
	crond := cron.New(cron.WithSeconds())
	crond.Start()
	// 创建定时任务消费客户端
	// 参数1，redis前缀，默认system:timer-schedule
	// 参数2，系统分组，系统后台为: system-admin, 设备后台：device-admin 零售后台:sale-admin 小程序:mini-app
	// 参数3，redis实例
	timerConsumer := consumer.New("system:timer-schedule:", "mini-app", redis.NewDB())

	ctx := context.Background()
	logx.Info(ctx, "add everyMinuteTask")
	// 添加指定任务的处理函数
	timerConsumer.AddFunc("everyMinute", everyMinuteTask)

	// 启动
	timerConsumer.Start()
}

// 每分钟定时任务
func everyMinuteTask() error {

	ctx := context.Background()
	logx.Info(ctx, "everyMinuteTask")
	pickupOrderCheck()
	channelUserSummary()
	CheckUnpaidAdvertisementOrder()
	// onlineEventDraw() // 在线活动自动开奖
	return nil
}
